package com.turing.procedure.service.task;


import com.baomidou.mybatisplus.extension.service.IService;
import com.turing.common.response.PageBean;
import com.turing.common.response.ResponseVO;
import com.turing.procedure.model.domain.task.TaskRecord;
import com.turing.procedure.model.domain.task.TaskRecordDto;
import com.turing.procedure.vo.in.ReviewContentVo;
import com.turing.procedure.vo.in.TaskRecordVo;
import com.turing.procedure.vo.out.FileListVO;
import com.turing.procedure.vo.in.FileSearchVO;
import com.turing.procedure.vo.out.FilePageBean;

import java.util.List;
import java.util.Map;

public interface TaskRecordService extends IService<TaskRecord> {

    FilePageBean<FileListVO> getTaskRecordList(FileSearchVO searchVO);

    ResponseVO<ReviewContentVo> batchGetReviewContent(List<String> taskSns);

    boolean updateTaskStatus(Integer status, String taskSn);

    boolean taskFailed(String taskSn,String errorMessage);

    List<TaskRecordVo> getTaskRecord(TaskRecordDto taskRecordDto);

    Boolean removeProcessTasks(List<String> taskSns);

    boolean finishReview( String taskSn);

    List<FileListVO> getPreviousAndNext(FileListVO fileListVO, Map<String, Integer> privileges);

}
